package com.chehejia.saos.resubmitredis.config;

import java.lang.annotation.*;

/**
 * 防重注解
 *
 * @author wangyongkun
 * @create 2021/3/2
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
public @interface NoRepeatSubmit {

    /**
     * 是否开启
     */
    boolean enable() default true;

    /**
     * key 生成策略
     * <p>
     * "H'-->high: url+methodName+args
     * 'M'-->middle: methodName+args
     * 'L'-->low: args
     */
    String keyGenerator() default "H";

    /**
     * 自定义redis Key
     */
    String redisKey() default "SAOS_NO_REPEAT_TOKEN";

    /**
     * key 生存时间 单位:秒
     */
    int timeout() default 5;
}
